package com.ecoolex.union.pay.retailer.ws;

import com.ecoolex.framework.common.pojo.Page;
import com.ecoolex.framework.common.pojo.Pagination;
import com.ecoolex.union.pay.retailer.entity.UnionPayPopularMerchant;
import com.ecoolex.union.pay.retailer.pojo.UnionPayPopularMerchantDTO;
import com.ecoolex.union.pay.retailer.pojo.UnionPayPopularMerchantWithProductDTO;

import java.util.List;

public interface UnionPayPopularMerchantService {

    public static final String NAME_SPACE = "UNION_PAY";

    public static final String MERCHANT = NAME_SPACE + ":MERCHANT";

    public static final String PRODUCT = NAME_SPACE + ":PRODUCT";


    List<UnionPayPopularMerchantDTO> getPopularMerchantList();

    UnionPayPopularMerchant addMerchant(UnionPayPopularMerchant record, String userName);

    UnionPayPopularMerchant get(Integer id);
    
    UnionPayPopularMerchant getByMerchantId(String merchantId);

    UnionPayPopularMerchant editMerchant(UnionPayPopularMerchant old,String oldMerchantId, String userName);

    Pagination<UnionPayPopularMerchantWithProductDTO> queryMerchant(String keyword, Page page);

    void delete(UnionPayPopularMerchant merchant, String userName);

    void syncToCache();

}
